package com.example.mybatisplus.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.mybatisplus.model.domain.Bed;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.mybatisplus.model.dto.BedInfoDTO;
import com.example.mybatisplus.model.dto.PageDTO;
import com.example.mybatisplus.model.dto.UnderDTO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author lxp
 * @since 2024-07-17
 */
public interface BedService extends IService<Bed> {

    Page<BedInfoDTO> getDisabledBed(BedInfoDTO bedInfoDTO, PageDTO dto);

//园区统计
    int getUndergBed(String areaname, String campusname);
    int getTeacherBed(String areaname, String campusname);
    int getMasterBed(String areaname, String campusname);
    int getDoctorBed(String areaname, String campusname);
    int getRestBed(String areaname, String campusname);
    //房源分配
    int getUndergCount();
    int getTeacherCount();
    int getMasterCount();
    int getDoctorCount();

    int getFreeUndergCount();
    int getFreeTeacherCount();
    int getFreeMasterCount();
    int getFreeDoctorCount();
    boolean releaseBed(Bed bed);
    //
    Page<UnderDTO>getUnderBed(UnderDTO underDTO, PageDTO dto);

    Page<UnderDTO> getPostBed(UnderDTO underDTO, PageDTO dto);
    Page<UnderDTO> getStaffBed(UnderDTO underDTO, PageDTO dto);
    void moveBeds(List<Integer>bedIds,String target);
}
